Описание
Возвращает значение, показывающее, поддерживает ли объект
Recordset закладки, которые устанавливаются с помощью свойства
Bookmark.
Значение
Возвращаемое значение имеет тип Boolean и содержит
значение True, если объект поддерживает использование закладок.
Замечания
Значение свойства Bookmarkable следует проверить перед
попыткой установить или прочитать значение свойства Bookmark.
Для
объекта Recordset, созданного исключительно на основе таблиц ядра базы
данных Microsoft Jet, свойство Bookmarkable имеет значение
True, и допускается использование свойства Bookmark для объектов
Recordset. Например, не допускается использование закладок в любом
объекте Recordset, созданном на основе присоединенной таблицы
Paradox, в которой не определен ключ.
Пример
Следующая программа использует свойства Bookmark и
Bookmarkable для запоминания позиции записи в объекте Recordset и
возвращения к этой записи.
Sub BookmarkX()
Dim dbsNorthwind As Database
Dim rstCategories As Recordset
Dim strMessage As String
Dim intCommand As Integer
Dim varBookmark As Variant
Set dbsNorthwind = OpenDatabase("Борей.mdb")
Set rstCategories = dbsNorthwind.OpenRecordset("Типы", dbOpenSnapshot)
With rstCategories
If .Bookmarkable = False Then
Debug.Print "Объект Recordset не поддерживает закладки!"
Else
' Заполняет объект Recordset.
.MoveLast
.MoveFirst
Do While True
' Отображает сведения о текущей записи
' и принимает данные от пользователя.
strMessage = "Категория: " & !Категория & _
" (запись " & (.AbsolutePosition + 1) & _
" из " & .RecordCount & ")" & vbCr & _
"Введите команду:" & vbCr & _
"[1 - следующая / 2 - предыдущая /" & vbCr & _
"3 - установить закладку / 4 - перейти на закладку]"
intCommand = Val(InputBox(strMessage))
Select Case intCommand
' Переход вперед или назад, перехват
' меток BOF или EOF.
Case 1
.MoveNext
If .EOF Then .MoveLast
Case 2
.MovePrevious
If .BOF Then .MoveFirst
' Сохраняет закладку текущей записи.
Case 3
varBookmark = .Bookmark
' Переходит на запись, отмеченную
' сохраненной закладкой.
Case 4
If IsEmpty(varBookmark) Then
MsgBox "Нет установленной закладки!"
Else
.Bookmark = varBookmark
End If
Case Else
Exit Do
End Select
Loop
End If
.Close
End With
dbsNorthwind.Close
End Sub